OpenStack Newton : Configure Ceilometer#2
2016/12/22 |
Configure OpenStack Metering Service (Ceilometer).
This example shows to install Metering Services on the existing environment like follows.
For example, install and configure Metering Services on the Network Node. | +------------------+ | +------------------------+ | [ Control Node ] | | | [ Network Node ] | | Keystone |10.0.0.30 | 10.0.0.50| DHCP,L3,L2 Agent | | Glance |------------+------------| Metadata Agent | | Nova API |eth0 | eth0| Ceilometer Services | | Neutron Server | | | | +------------------+ | +------------------------+ eth0|10.0.0.51 +--------------------+ | [ Compute Node ] | | Nova Compute | | L2 Agent | | Ceilometer-Compute | +--------------------+ |
Install and Configure Ceilometer on this section.
|
|
[1] | Install MongoDB which Ceilometer needs for backend database. |
root@network:~# apt-get -y install mongodb-server mongodb python-pymongo
|
[2] | Configure and Start MongoDB. |
root@network:~#
vi /etc/mongodb.conf # line 11: change bind_ip = 0.0.0.0
root@network:~#
systemctl restart mongodb
# create a DataBase for Ceilometer (set any password for "password" section) root@network:~# mongo --host 10.0.0.50 --eval ' db = db.getSiblingDB("ceilometer"); db.createUser({user: "ceilometer", pwd: "password", roles: [ "readWrite", "dbAdmin" ]})' MongoDB shell version: 2.6.10 connecting to: 10.0.0.50:27017/test Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] } |
[3] | Install Ceilometer services. |
root@network:~# apt-get -y install ceilometer-api ceilometer-collector ceilometer-agent-central ceilometer-agent-notification python-ceilometerclient python-ceilometerclient apache2 libapache2-mod-wsgi
|
[4] | Configure Ceilometer. |
root@network:~# mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org
root@network:~#
vi /etc/ceilometer/ceilometer.conf # create new
[DEFAULT]
rpc_backend = rabbit auth_strategy = keystone
[api]
port = 8777 host = 0.0.0.0 # MongoDB connection info [database] connection = mongodb://ceilometer:password@10.0.0.50:27017/ceilometer # RabbitMQ connection info [oslo_messaging_rabbit] rabbit_host = 10.0.0.30 rabbit_port = 5672 rabbit_userid = openstack rabbit_password = password # Keystone auth info [keystone_authtoken] auth_uri = http://10.0.0.30:5000 auth_url = http://10.0.0.30:35357 memcached_servers = 10.0.0.30:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = ceilometer password = servicepassword # Ceilometer auth info [service_credentials] os_auth_url = http://10.0.0.30:5000/v2.0 os_username = ceilometer os_tenant_name = service os_password = servicepassword os_endpoint_type = internalURL os_region_name = RegionOne |
[5] | Configure httpd. |
root@network:~#
vi /etc/apache2/sites-available/ceilometer.conf Listen 8777 <VirtualHost *:8777> WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP} WSGIProcessGroup ceilometer-api WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app" WSGIApplicationGroup %{GLOBAL} ErrorLog /var/log/apache2/ceilometer_error.log CustomLog /var/log/apache2/ceilometer_access.log combined </VirtualHost> WSGISocketPrefix /var/run/apache2 mkdir -p /var/www/cgi-bin/ceilometer root@network:~# cp /usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app root@network:~# a2ensite ceilometer Enabling site ceilometer. To activate the new configuration, you need to run: service apache2 reload root@network:~# systemctl stop ceilometer-api root@network:~# systemctl disable ceilometer-api root@network:~# systemctl restart apache2
|
[6] | Start Ceilometer services. |
root@network:~# root@network:~# |